According to the paper Complete Vaporisation of a Human Body from N.Stylianidis, O.Adefioye-Giwa and Z.Thornley, assuming that a 78 kg human body contains which contains 70% of water, the total amount of energy required for a complete vaporisation is ~$3\times 10^6 kJ$.

The question is now : how fast can we achieve this complete vaporisation of a human body using the heating and current drive systems of a Tokamak ?


In [1]:
%pylab
%matplotlib inline


Using matplotlib backend: Qt5Agg
Populating the interactive namespace from numpy and matplotlib

In [2]:
E_vap = 3e9 # J

power = logspace(6, 8.5, 101) # from 1 MW to more than 100 MW

In [3]:
# required time to vaporize someone
time_to_vap = E_vap/power

In [4]:
figure(figsize=(8,6))
semilogx(power/1e6, time_to_vap/60, lw=3)
xlabel('Power [MW]', fontsize=14)
ylabel('Time [min]', fontsize=14)
grid(True)
grid(which='minor', color='k')
title('Required time to vaporize a human body', fontsize=14)
xlim(1, 300)
xticks([1,10,100], ['1', '10', '100'], fontsize=14)
yticks(fontsize=14)


Out[4]:
(array([-10.,   0.,  10.,  20.,  30.,  40.,  50.,  60.]),
 <a list of 8 Text yticklabel objects>)

In [5]:
with plt.xkcd():
    figure(figsize=(8,6))
    loglog(power/1e6, time_to_vap, lw=3, color='r')
    xlabel('Power [MW]', fontsize=18)
    ylabel('Time [s]', fontsize=18)
    grid(True)
    grid(which='minor', color='k')
    title('Required time to vaporize a human body', fontsize=18)
    xlim(1, 300)
    xticks([1,10,100], ['1', '10', '100'], fontsize=18)
    yticks([1,10,30, 60, 300, 900, 1800, 3600], ['1s', '10s', '30s', '1min', '5min', '1/4h', '1/2h', '1h' ], fontsize=14)
    yticks(fontsize=18)
    gca().xaxis.grid(linewidth=1.0)
    gca().yaxis.grid(linewidth=1.0)
    
    gca().annotate('Present machines', xy=(5, 800), xycoords='data',
                xytext=(20, 30), textcoords='offset points',
                arrowprops=dict(arrowstyle="->"),
                fontsize=18   
                )
    gca().annotate('ITER', xy=(40, 60), xycoords='data',
                xytext=(-200, -30), textcoords='offset points',
                arrowprops=dict(arrowstyle="->"),
                fontsize=18   
                )
    gca().annotate('Reactor?', xy=(250, 15), xycoords='data',
                xytext=(40, 30), textcoords='offset points',
                arrowprops=dict(arrowstyle="->"),
                fontsize=18   
                )


It is quite long to vaporize a human body. Instead, let's make some tea.

The energy required to a heat cup of water from 15°C to 100°C is :


In [6]:
volume = 1/4 # L 
m = volume # kg
c_v = 4185 #J·kg-1·K-1
Q = m * c_v * (100 - 15) 

time_to_heat_cup = Q/power

In [7]:
loglog(power/1e6, time_to_heat_cup, lw=3, color='r')
xlabel('Power [MW]', fontsize=18)
ylabel('Time [s]', fontsize=18)
grid(True)
grid(which='minor', color='k')
title('Required time to heat a cup of tea', fontsize=18)
xlim(1, 300)
yticks(fontsize=18)


Out[7]:
(array([  1.00000000e-05,   1.00000000e-04,   1.00000000e-03,
          1.00000000e-02,   1.00000000e-01,   1.00000000e+00,
          1.00000000e+01]), <a list of 7 Text yticklabel objects>)

In [8]:
with plt.xkcd():
    figure(figsize=(8,6))
    loglog(power/1e6, Q/power, lw=3, color='r')
    xlabel('Power [MW]', fontsize=18)
    ylabel('Time [s]', fontsize=18)
    grid(True)
    grid(which='minor', color='k')
    title('Required time to heat a cup of tea', fontsize=18)
    xlim(1, 300)
    xticks([1,10,100], ['1', '10', '100'], fontsize=18)
    yticks([1e-1,1e-2,1e-3, 1e-4], ['0.1s', '10ms', '1ms', '100µs' ], fontsize=14)
    yticks(fontsize=18)
    gca().xaxis.grid(linewidth=1.0)
    gca().yaxis.grid(linewidth=1.0)
    
    gca().annotate('Present machines', xy=(5, 2e-2), xycoords='data',
                xytext=(20, 30), textcoords='offset points',
                arrowprops=dict(arrowstyle="->"),
                fontsize=18   
                )
    gca().annotate('ITER', xy=(40, 2e-3), xycoords='data',
                xytext=(-200, -30), textcoords='offset points',
                arrowprops=dict(arrowstyle="->"),
                fontsize=18   
                )
    gca().annotate('Reactor?', xy=(250, 6e-4), xycoords='data',
                xytext=(40, 30), textcoords='offset points',
                arrowprops=dict(arrowstyle="->"),
                fontsize=18   
                )



In [9]:
3e9/10e6/60


Out[9]:
5.0

In [ ]: